package com.tebiecloud.yunst.server.service;

import com.tebiecloud.yunst.client.model.entity.YunAgentCollect;
import com.tebiecloud.common.mybatis.base.service.IBaseService;

import java.util.HashMap;

/**
 *  服务类
 * @author tebie
 * @date 2019-09-07
 */
public interface YunAgentCollectService extends IBaseService<YunAgentCollect> {

    /**
     * 代收接口
     * @param payerId // 付款人id
     * @param bizUserId //收款人id
     * @param amount //金额（单位：分）
     * @param payMethodStr //支付方式：WECHAT_PUBLIC 公众号js支付
     * @param wxOpenId //微信openid
     * @return
     */
    HashMap<String, String> agentCollect(String payerId, String bizUserId,Long orderNo,
                                         Integer amount, String payMethodStr, String wxOpenId);


    /**
     * 消费接口
     * @param payerId //付款人id
     * @param bizUserId //收款人id
     * @param orderId //订单id
     * @param amount //金额
     * @param payMethodStr //支付方式
     * @param openId //用户第三方标识
     * @param expiredTime //订单支付过期时间（单位：秒）
     * @return
     */
    HashMap<String, String> consumeApply(String payerId, String bizUserId,Long orderId,Long userId,
                                         Integer amount, String payMethodStr, String openId,int expiredTime);

    /**
     * 支付回调
     * @param bizOrderNo
     * @param status
     */
    int payCallBack(String bizOrderNo,String status);

    /**
     * 平台转账
     * @param bizUserId
     * @param amount
     */
    void  applicationTransfer(String bizUserId,Long amount);

    /**
     * 查询余额
     * @param bizUserId
     * @return
     */
    HashMap<String, String> queryBalance(String bizUserId);
}
